package com.yuyou.tas.lesson.service;


import com.yuyou.tas.lesson.vo.resp.SubjectSections;
import com.yuyou.tas.service.api.lesson.dto.DtoBaseSection;
import com.yuyou.tas.service.api.lesson.entity.BaseSection;
import com.yuyou.tas.util.bean.LoginRedisObj;
import com.yuyou.tas.util.bean.Pagination;
import com.yuyou.tas.util.bean.ResBoolSimpleInfo;

import java.util.List;
import java.util.Map;
import java.util.Set;

public interface IBaseSectionService {

    ResBoolSimpleInfo addSection(String name, Integer isTan,Long pId , LoginRedisObj user,Long organId);
    ResBoolSimpleInfo updateSection(String name, Integer isTan,Long pId, Long id);
    ResBoolSimpleInfo delSection(Long id);
    ResBoolSimpleInfo<BaseSection> getSectionByID(Long id);

    int findSectionCount(Pagination<DtoBaseSection> queryPgn);
    List<DtoBaseSection> findSectionPageList(Pagination<DtoBaseSection> queryPgn);
    
    List<BaseSection> findSectionName(Map<String , Object> condition);

    BaseSection selectBaseSectionById(Long id);

    List<Long> findByIds(Set<Long> ids);

    BaseSection findById(Long id);

    List<SubjectSections> findBySubject(Map<String , Object> condition);

    List<DtoBaseSection> getUserSection(Long userId , String[] subjectId);

    List<SubjectSections> getUserSectionMap(Long userId , String[] subjectId);

    List<BaseSection> findBaseSectionByIds(List<Long> ids);


    /**
     * 获取教研老师年级
     * @param userId
     * @param subjectId
     * @return
     */
    List<DtoBaseSection> getTeachingSection(Long userId , String[] subjectId);

    /**
     * 获取教研老师年级-根据科目分组
     * @param userId
     * @param subjectId
     * @return
     */
    List<SubjectSections> getTeachingSectionMap(Long userId , String[] subjectId);
    
    /**
     * 获取所有年级
     * @return
     */
    List<BaseSection> findAllBaseSection();

}